package com.yl.module.property.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yl.module.property.domain.Property;
import com.yl.module.property.domain.dto.*;
import com.yl.module.property.domain.vo.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 资产表 Service接口
 * @author makejava
 * @date 2024-10-23 15:54:15
 */
public interface PropertyService extends IService<Property> {

	/**查询所有*/
	List<PropertyVO> getAll();

	 /**分页查询*/
    Page<PropertyVO> getPage(PropertyPageDTO dto);

	/**通过主键查询*/
	PropertyVO getByKey(Integer id);

	/**添加*/
	Integer add(PropertyAddOrUpdDTO dto);

	/**通过主键修改*/
	void upd(PropertyAddOrUpdDTO dto);
	void enableIdle(PropertyEnableIdleDTO dto);

	PropertyStatisticsVO statistics(Integer propertyTypeId);

	/**
	 * 根据ueCode获取资产信息
	 * @param ueCode
	 * @return
	 */
    PropertyInfoVO getPropertyInfo(String ueCode);

	List<PropertyUpkeepMaintainVO> getPropertyUpkeepMaintain(Integer propertyId,String ueCode);

	void jiankePushData(JiankePushDataDTO dto);

	List<PropertyUeVO> getUeList();

	void maintainChangeState();

	void importZhuJian(MultipartFile file);

	void importBim(MultipartFile file);

	void importFile(MultipartFile file);
}
